package com.qianfeng.zhangwei.sybl;

import android.app.Application;
import android.widget.Toast;

import com.nostra13.universalimageloader.cache.disc.DiskCache;
import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.qianfeng.zhangwei.sybl.utils.FileUtils;

/**
 * @说 明：1.程序的初始化工作
 * 1>第三方的SDK的初始化工作
 * 2>程序的配置 比如图片的下载路径   数据的一些配置信息
 * 3>程序的全局变量 比如一些网络状态的监听
 * @项目名称：Sz1504
 * @包 名： com.qianfeng.zhangwei.sybl
 * @类 名： BaseApp
 * @创 建人： zhangwei
 * @创建时间：2015-07-27 15:25
 * @版 本：v1.0
 * @修 改人：
 * @修改时间：
 * @修改备注：
 */
public class BaseApp extends Application {
    private static BaseApp app;
    private boolean netState;

    @Override
    public void onCreate() {
        super.onCreate();
        app = this;
        initImageLoadGlobalConfig();
    }

    public static BaseApp getInstance() {
        return app;
    }

    public boolean isNetState() {
        return netState;
    }

    public void setNetState(boolean netState) {
        this.netState = netState;
    }


    public void showToast(String msg) {
        Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
    }


    // sdk/应用程序的根目录/image

    private void initImageLoadGlobalConfig() {
        ImageLoaderConfiguration.Builder builder = new ImageLoaderConfiguration.Builder(this);
        DiskCache cache = new UnlimitedDiskCache(FileUtils.getImageCache());
        //配置文件保存的路径
        builder.diskCache(cache);
        //设置保存图片的最大张数
        builder.diskCacheFileCount(500);
        //配置磁盘缓存保存图片的最大内存
        builder.diskCacheSize(50 * 1024 * 1024);
        // 获取系统分配给应用程序的最大内存
        int maxMemory = (int) Runtime.getRuntime().maxMemory();
        int maxSize = maxMemory / 8;
        //配置内存缓存的大小
        builder.memoryCacheSize(maxSize);
        //配置保存图片的命名器
        builder.diskCacheFileNameGenerator(new Md5FileNameGenerator());
        ImageLoader.getInstance().init(builder.build());
    }

}
